package com.ruoyi.pickup.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 团长注册申请表对象 pickup_point_applications
 * 
 * @author ruoyi
 * @date 2025-08-15
 */
public class PickupPointApplications extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 申请ID */
    private String applicationId;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String applicantName;

    /** 申请人手机号 */
    @Excel(name = "申请人手机号")
    private String applicantPhone;

    /** 自提点名称 */
    @Excel(name = "自提点名称")
    private String pickupPointName;

    /** 自提点地址 */
    @Excel(name = "自提点地址")
    private String pickupPointAddress;

    /** 自提点类型 */
    @Excel(name = "自提点类型")
    private String pickupPointType;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationTime;

    /** 审核状态：待审核、已通过、已作废 */
    @Excel(name = "审核状态：待审核、已通过、已作废")
    private String status;

    /** 审核人ID */
    @Excel(name = "审核人ID")
    private Long reviewerId;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String reviewNotes;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setApplicationId(String applicationId) 
    {
        this.applicationId = applicationId;
    }

    public String getApplicationId() 
    {
        return applicationId;
    }

    public void setApplicantName(String applicantName) 
    {
        this.applicantName = applicantName;
    }

    public String getApplicantName() 
    {
        return applicantName;
    }

    public void setApplicantPhone(String applicantPhone) 
    {
        this.applicantPhone = applicantPhone;
    }

    public String getApplicantPhone() 
    {
        return applicantPhone;
    }

    public void setPickupPointName(String pickupPointName) 
    {
        this.pickupPointName = pickupPointName;
    }

    public String getPickupPointName() 
    {
        return pickupPointName;
    }

    public void setPickupPointAddress(String pickupPointAddress) 
    {
        this.pickupPointAddress = pickupPointAddress;
    }

    public String getPickupPointAddress() 
    {
        return pickupPointAddress;
    }

    public void setPickupPointType(String pickupPointType) 
    {
        this.pickupPointType = pickupPointType;
    }

    public String getPickupPointType() 
    {
        return pickupPointType;
    }

    public void setApplicationTime(Date applicationTime) 
    {
        this.applicationTime = applicationTime;
    }

    public Date getApplicationTime() 
    {
        return applicationTime;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setReviewerId(Long reviewerId) 
    {
        this.reviewerId = reviewerId;
    }

    public Long getReviewerId() 
    {
        return reviewerId;
    }

    public void setReviewTime(Date reviewTime) 
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime() 
    {
        return reviewTime;
    }

    public void setReviewNotes(String reviewNotes) 
    {
        this.reviewNotes = reviewNotes;
    }

    public String getReviewNotes() 
    {
        return reviewNotes;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("applicationId", getApplicationId())
            .append("applicantName", getApplicantName())
            .append("applicantPhone", getApplicantPhone())
            .append("pickupPointName", getPickupPointName())
            .append("pickupPointAddress", getPickupPointAddress())
            .append("pickupPointType", getPickupPointType())
            .append("applicationTime", getApplicationTime())
            .append("status", getStatus())
            .append("reviewerId", getReviewerId())
            .append("reviewTime", getReviewTime())
            .append("reviewNotes", getReviewNotes())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
